XJOI200814 题解
今天赛 1 是联赛难度。感到自己有很多不足。
赛2:什么叫做乱搞啊 /kk
1A
没想出来但这种题有可能会出现在正式赛场上,所以要会乱搞啊!
正解就是选出 K / m 个整行加上 K % m 个在同一行的元素。
有个伪证:
1 | (a, b, c, d), e, f |
1B
图论今天真的要刷起来了,这题 lca 搞一搞就好了啊!都忘光了。。。树上路径就是到 lca 的路径啊。。。
那么分两种情况:
- lca(c,d) 在 lca(a,b) 子树中:发现 lca(c,d) 不在 a 到 b 路径上即可
- lca(c,d) 不在 lca(a,b) 子树中:c 到 d 的路径不经过连接 lca(a,b) 和 fa[lca(a,b)] 的边即可
于是预处理一波就可以了。
(xj数据水,我一个 O(n(nq+n2)) 的暴力跑过去了。。。。)
1C
神仙构造(noip考构造吗)显然 S>n(n−1)2 的时候无解。然后还不会。。咕咕
2A
这很 Atcoder 啊。。神仙构造 + 大乱搞题?咕咕
2B
竟然给我乱搞出来了!考虑操作序列是形如 (((S+k1a)b+k2a)b+k3a)b+… 这样的。我们枚举有几个 b(显然只有 log 种),就变成类似于进制,所以要让 ∑iki 最小,只要“能减则减”就可以了。
—-分割线—-
我错了。这题没有一点素质,它的重点根本就是分类讨论,我吐了 思博题💢
!s !t s < t !a !b b = 1 这些你都判了吗
2C
傻了傻了,枚举第一个a、b、c出现的位置就好了呗!这是 O(n3) 的,然后 O(n2) 的用树状数组维护就好了(?